<?php
namespace App\Http\Controllers\Admin;

use App\Model\Config;
use App\Server\TemplateServer;
use dcdn\Request\V20180115\DeleteDcdnDomainRequest;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class ConfigController extends Controller
{

    public function edit(Request $request ,$name){
        is_allow('Admin-config');
           $data=Config::firstOrNew(['name'=>$name]);
        return view('admin.config.edit_'.$name,compact('data','name'));
    }
    public function update($name,Request $request){
         Config::updateOrCreate(
            ['name'=>$name],//查找条件
            ['name'=>$name,'data'=>$request->all ()]//添加更新的数据
        );
        //报错：Array to string
        //dd($res->toArray());
        hd_edit_env ($request->all ());
        return back ()->with ('success','数据更新成功');
    }
    //将备用模板展示在页面上
    public function show_template(TemplateServer $templateServer){
        //将备用模板的一些参数处理好，分配到页面上，这里需要借助服务类
        $configs=$templateServer->config();
//        dd($config);
        return view('admin.config.edit_template',compact('configs'));
    }
    //选择模板设为当前使用模板
    public function set_template($theme){
        hd_edit_env(['MJ_TEMPLATE'=>$theme]);
        return back()->with('success','模板更换成功');
    }
    //测试模板跟换加载
    public function testTemplate(){
        //laravel框架中使用View来加载页面，但是会到resourse中去找模板，在这里我们首先要在加载模板前改变加载模板的路径
//       读取配置项中当前选中的模板的目录名称
        $defulat=config('mj_template.template');
        //app是实例化view这个类，去到prependLocation里面的地方去找（getFinder）模板
        app('view')->getFinder()->prependLocation(public_path('templates/'.$defulat));
        return view('index');
    }



}
